package main

import (
	"io"
	"log"
	"net"
	"os"
)

// mustCopy， 将reader里面的数据输出到w
func mustCopy(w io.Writer, src io.Reader) {
	if _, err := io.Copy(w, src); err != nil {
		log.Fatal(err)
	}
}

func main() {
	//连接到服务端
	conn, err := net.Dial("tcp", "localhost:8080")
	if err != nil {
		log.Fatal(err)
	}
	defer conn.Close()

	//处理这个链接， 将这个链接中的收到的数据刷新回终端。
	go mustCopy(os.Stdout, conn)

	//从终端读取数据， 并且发送到服务端。
	mustCopy(conn, os.Stdin)
}
